What is Inter-Integrated Circuit (I2C)?

Published: 23 February 2022 | Last Updated: 23 February 20222781
Hello everyone, I am Rose. Today I will introduce I2C to you. The I2C bus is a simple, bidirectional two-wire synchronous serial bus developed by Philips. It requires only two wires to transfer information between devices connected to the bus.
In this video we will learn how the I2C communication protocol works and also we will make a practical example of it with the Arduino Board and a sensor which uses this protocol.

How I2C Communication Works and How To Use It with Arduino

Topics covered in this article:
Ⅰ. What is I2C?
Ⅱ. A brief history of I2C
Ⅲ. I2C basic content
Ⅳ. I2C bus development and design need to pay attention
Ⅴ. Design example
Ⅵ. Summary


Ⅰ. What is I2C?

Philips invented the I2C bus, which is a simple bidirectional two-wire synchronous serial bus. Only two wires are required to convey data between devices connected to the bus.

The master device is used to open the device for transmission and to start the bus for data transmission. Any addressed device is treated as a slave device at this moment. On the bus, the relationship between master and slave, sending and receiving data is not constant, but it does rely on the data transfer direction at the time. If the host wishes to send data to the slave device, it addresses the slave device first, then actively transfers data to the slave device, and finally concludes the data transfer; if the host wants to receive data from the slave device, the master device addresses the slave device first. The host then receives the data delivered by the device before terminating the receiving operation. under these conditions. The time clock is generated by the host, and the data transfer is terminated by the host.

 

Ⅱ. A Brief History of I2C

In 1980,  Philips began to develop a communication bus in order to connect various low-speed devices (Philips chips).

In 1982, the original version used a 100KHz communication rate, provided 7-bit addresses, and limited the number of devices on the bus to 112 (with several reserved addresses).

In 1992, the first specification was published, adding a fast mode of 400kHz and an expanded 10-bit address space.

In 1998, with the advancement of technology, the communication rate requirements became higher and higher, reaching a high-speed 3.4 MHz, and then upgraded to 5 MHz later, and differential signals were used to improve noise immunity.

 

Ⅲ. I2C basic content

I²C: Inter-Integrated Circuit, which literally means between integrated circuits, is the abbreviation of I²C Bus.

I2C requires only two wires, which can support up to 1008 slave devices for synchronous serial communication.

Unlike  SPI ,  I2C can support multi-master, multi-slave bus.

 I2C.png

I2C

I2C two-wire signal

Each I2C bus is made up of two signals: SCL clock and SDA data. The present bus master generates the clock signal at all times.

I 2 C bus drivers, unlike  UART  and SPI, are open-drain (please  Google if you don't know what open-drain means), which means they can draw the appropriate signal line low but not drive it high.

When no device is pushing the signal low, a pull-up resistor on each signal line returns it to a high level.

 signal of I2C.png

Signal of I2C

Signal level

The I2C bus signal level is usually between 5 and 3.3 volts. The device on the bus can be utilized directly if it is compatible with these two levels.

Level conversion is essential if the signal voltages are substantially different (5V and 2.5V), or if the levels are not compatible.

 

Ⅳ. I2C bus development and design need to pay attention

1. Bus capacity and drive capability

Because the I2C bus's peripheral expansion devices are all CMOS devices and the bus has sufficient current drive capability, the number of nodes extended on the bus is determined by the capacitive load rather than the current load capabilities.

Each actual node device on the bus has an equivalent capacitance at its bus interface. Because of the analogous capacitance, bus transmission will be delayed, resulting in data transmission mistakes.

The bus load capacity is typically 400pF, and each I2C device has its own capacitance value, usually no more than 20pF, from which the bus length and number of nodes may be estimated. Because each peripheral device on the bus has a device address, the device address also limits the expansion of peripheral devices on the bus.

2. The electrical structure of the I2C bus 

The internal I2C bus interface is a bidirectional transmission circuit, as indicated in the picture, because the I2C bus  is a bidirectional synchronous serial bus. Because the bus port's output has an open-drain structure, a pull-up resistor  must be installed on the bus. The power supply voltage, SDA, SCL, and the bus series resistance are all affected by the pull-up resistor,  For selection, refer to the applicable data sheet, which normally ranges from 4.7K to 10K.

 typical application.png

Typical Application

3. Each node has a fixed node address.

Because the I2C bus is a bidirectional synchronous serial system, a single-chip microcomputer on the bus can act as the master node, with its device address given by software and saved in the bus's address register, which is referred to as the slave address of the master device. When a single-chip microcomputer is used as a slave node in a multi-master bus system, its slave address is meaningful, resulting in standardized device addresses for all peripheral devices on the bus.

4. I2C bus timing

Each frame of data transmitted on the I2C interface is one byte in length. However, once the bus is started, there is no limit to the amount of bytes that can be communicated; all that is required is that the other side acknowledges each byte transmitted. The most significant chunk of info is transmitted first when sending. Each transfer has a start signal at the beginning and a stop signal at the conclusion. By manipulating the clock line after the bus has transferred a byte, the transmission can be halted.

①Clock and data transmission:

An external device is commonly used to pull the SDA pin high. When SCL is low, data on the SDA pin can only be modified; when SCL is high, data on the SDA pin indicates a start or stop state. as shown in the illustration

clock and data transmission.png

Clock and data transmission

②Start and end conditions:

A start condition is a high-to-low SDA with SCL high that must come before any other command. A stop condition is a low-to-high SDA and SCL high. A stop instruction puts the EEPROM  into standby mode after a read sequence, as shown in the diagram.

start and end conditions.png

Start and end conditions

③ Answer:

All address and data words are continually sent to the EEPROM  as 8-bit words, and the EEPROM  confirms receipt of each word by transmitting a "0." As illustrated, the acknowledgment occurs on the ninth clock cycle.

answer.png

Answer

 I2C version history.jpg

I2C Version History

Say something extra about  SMBus :

The "System Management Bus," based on I2C, was introduced by  Intel in 1995. (SMBus).  SMBus is a more tightly controlled format that aims to improve communication predictability between supporting ICs on PC motherboards.

The main difference between SMBus and I2C is that SMBus has a speed restriction of 10kHz to 100kHz, whereas I2C can support devices from 0kHz to 5MHz.

 

Ⅴ. Design example

The AT24C256 is a 256kbit serial electrically erasable programmable read-only memory from  ATMEL, packaged in an 8-pin dual-row in-line device with a small construction, substantial storage capacity, and other features that may be utilized in a 2-wire bus. Connect four of these ICs in series to create a data acquisition system with high-capacity data storage requirements.

AT24C256.png

 AT24C256

Data can be received and transmitted using EEPROM  memory devices. Each device connected to the bus has its own unique address.

When the host accesses the EEPROM.  it sends the start condition and control signal to the EEPROM  memory, as well as the red flag signal to flip the direction of data transmission and receipt. The relevant data can then be read out after getting the response signal from the EEPROM

 

Ⅵ. Summary

Through the above examples, we can know that the advantages of I2C are mainly manifested in:

1. The hardware circuit has been streamlined. The serial data line (SDA) and the serial clock line are the only lines required in this bus (SCL).

2. Each I2C device on the bus has a unique address that software can use to address it.

3. Because there may be numerous master I2C devices on the bus, the I2C bus interface protocol includes a conflict monitoring and arbitration mechanism to prevent data loss or communication failures.

4. The standard mode of this serial two-wire bidirectional bus is 100 kbit/s, the fast mode is 400 kbit/s, and the high-speed mode is 3.4 mbit/s.

5. The data integrity is ensured by filtering and anti-interference techniques in the I2C device.

6. The bus's capacitive reactance cannot exceed 400pF since the number of devices connected to it is limited.


UTMEL

We are the professional distributor of electronic components, providing a large variety of products to save you a lot of time, effort, and cost with our efficient self-customized service. careful order preparation fast delivery service

Frequently Asked Questions

1. What determines the transfer rate of I2C?

The transfer rate of the IIC is determined by the "clock frequency on the clock line (SCL)."

2. What is the maximum length of the I2C bus?

The maximum length of the I2C bus is: less than 200mm ~ 300mm, which is related to the transmission speed, wiring, etc. I2C repeater chips can be used to extend the distance, NXP such as P82B715, P82B96, etc.; there is no clear regulation on the standard for effective transmission. distance.

3. What is the difference between slave mode and master mode of I2C?

First, the subject is different
1. Slave mode: fast mode, can receive and transmit at 400kbit/s.
2. Main mode: Also known as high-speed mode, it can transmit information at a bit rate of up to 3.4Mbit/s.

Second, the characteristics are different
1. Slave mode: Adjusted the timing of serial data (SDA) and serial clock (SCL) signals.
2. Master mode: The current source circuit shortens the rise time of the SCLH signal. At any time in the Hs mode, only the current source of one master is valid.

Third, the rules are different
1. Slave mode: The power supply voltage of the fast mode device is turned off, and the I/O pins of SDA and SCL must be left floating, and the bus cannot be blocked.
2. Master Mode: Mode The master device generates a serial clock signal with a 1:2 ratio of high and low. The timing requirements for setup and hold times have been lifted.
Related Articles

  • Discovering New and Advanced Methodology for Determining the Dynamic Characterization of Wide Bandgap Devices
    Discovering New and Advanced Methodology for Determining the Dynamic Characterization of Wide Bandgap Devices
    Saumitra Jagdale15 March 20242212

    For a long era, silicon has stood out as the primary material for fabricating electronic devices due to its affordability, moderate efficiency, and performance capabilities. Despite its widespread use, silicon faces several limitations that render it unsuitable for applications involving high power and elevated temperatures. As technological advancements continue and the industry demands enhanced efficiency from devices, these limitations become increasingly vivid. In the quest for electronic devices that are more potent, efficient, and compact, wide bandgap materials are emerging as a dominant player. Their superiority over silicon in crucial aspects such as efficiency, higher junction temperatures, power density, thinner drift regions, and faster switching speeds positions them as the preferred materials for the future of power electronics.

    Read More
  • Applications of FPGAs in Artificial Intelligence: A Comprehensive Guide
    Applications of FPGAs in Artificial Intelligence: A Comprehensive Guide
    UTMEL29 August 2025798

    This comprehensive guide explores FPGAs as powerful AI accelerators that offer distinct advantages over traditional GPUs and CPUs. FPGAs provide reconfigurable hardware that can be customized for specific AI workloads, delivering superior energy efficiency, ultra-low latency, and deterministic performance—particularly valuable for edge AI applications. While GPUs excel at parallel processing for training, FPGAs shine in inference tasks through their adaptability and power optimization. The document covers practical implementation challenges, including development complexity and resource constraints, while highlighting solutions like High-Level Synthesis tools and vendor-specific AI development suites from Intel and AMD/Xilinx. Real-world applications span telecommunications, healthcare, autonomous vehicles, and financial services, demonstrating FPGAs' versatility in mission-critical systems requiring real-time processing and minimal power consumption.

    Read More
  • A Comprehensive Guide to FPGA Development Boards
    A Comprehensive Guide to FPGA Development Boards
    UTMEL11 September 2025663

    This comprehensive guide will take you on a journey through the fascinating world of FPGA development boards. We’ll explore what they are, how they differ from microcontrollers, and most importantly, how to choose the perfect board for your needs. Whether you’re a seasoned engineer or a curious hobbyist, prepare to unlock new possibilities in hardware design and accelerate your projects. We’ll cover everything from budget-friendly options to specialized boards for image processing, delve into popular learning paths, and even provide insights into essential software like Vivado. By the end of this article, you’ll have a clear roadmap to navigate the FPGA landscape and make informed decisions for your next groundbreaking endeavor.

    Read More
  • The Ultimate Guide to Microchip MCUs: From Selection to Real-World Applications
    The Ultimate Guide to Microchip MCUs: From Selection to Real-World Applications
    UTMEL13 September 2025297

    Are you an aspiring electronics enthusiast, a seasoned engineer, or a hobbyist looking to bring your next project to life? If so, you've likely encountered the term Microchip MCU. But what exactly is a Microchip MCU, and how do you choose the right one from their vast portfolio? This comprehensive guide will walk you through everything you need to know about Microchip's powerful microcontrollers, from selection and programming to real-world applications.

    Read More
  • Lattice FPGA: The Ultimate Guide to Low-Power, Small Form Factor Solutions
    Lattice FPGA: The Ultimate Guide to Low-Power, Small Form Factor Solutions
    UTMEL19 September 2025194

    Comprehensive review of Lattice FPGAs. Discover why their low-power, small-size, and cost-effective solutions are dominating the edge AI, IoT, and automotive markets. Compare Lattice vs. Xilinx and Intel to make the right choice.

    Read More